/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponseIPageQuestionSubmitTinyVo } from "../models/BaseResponseIPageQuestionSubmitTinyVo";
import type { BaseResponseIPageQuestionSubmitVo } from "../models/BaseResponseIPageQuestionSubmitVo";
import type { BaseResponseLong } from "../models/BaseResponseLong";
import type { QuestionSubmitAddRequest } from "../models/QuestionSubmitAddRequest";
import type { QuestionSubmitQueryRequest } from "../models/QuestionSubmitQueryRequest";
import type { QuestionSubmitTinyQueryRequest } from "../models/QuestionSubmitTinyQueryRequest";
import type { CancelablePromise } from "../core/CancelablePromise";
import { OpenAPI } from "../core/OpenAPI";
import { request as __request } from "../core/request";

export class QuestionSubmitControllerService {
  /**
   * @param requestBody
   * @returns BaseResponseIPageQuestionSubmitVo OK
   * @throws ApiError
   */
  public static listQuestionSubmitVoByPage(
    requestBody: QuestionSubmitQueryRequest
  ): CancelablePromise<BaseResponseIPageQuestionSubmitVo> {
    return __request(OpenAPI, {
      method: "POST",
      url: "/list/page/vo",
      body: requestBody,
      mediaType: "application/json"
    });
  }

  /**
   * @param requestBody
   * @returns BaseResponseIPageQuestionSubmitTinyVo OK
   * @throws ApiError
   */
  public static listMyQuestionSubmitTinyVoByPage(
    requestBody: QuestionSubmitTinyQueryRequest
  ): CancelablePromise<BaseResponseIPageQuestionSubmitTinyVo> {
    return __request(OpenAPI, {
      method: "POST",
      url: "/list/page/mine/vo",
      body: requestBody,
      mediaType: "application/json"
    });
  }

  /**
   * @param requestBody
   * @returns BaseResponseLong OK
   * @throws ApiError
   */
  public static addQuestionSubmit(
    requestBody: QuestionSubmitAddRequest
  ): CancelablePromise<BaseResponseLong> {
    return __request(OpenAPI, {
      method: "POST",
      url: "/add",
      body: requestBody,
      mediaType: "application/json"
    });
  }
}
